<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
        1. arr.map() : 映射数组
            场景 : 把数组映射成html字符串渲染
        
        2. arr.some() : 判断数组中是否有符合条件的元素  （逻辑或||,一真则真）
            场景 : 非空判断、正则判断

        3. arr.every() : 判断数组中是否所有元素都满足条件 （逻辑与&&,一假则假）
            场景 : 购物车全选
        
        */  
       
        let arr = [ 'a','b','','d','e' ]

        //判断有没有空字符串
        // 回调特点: 一真则真,只要有真. 循环结束some结果为真。 
        let res = arr.some( item=> item=='' )
        console.log(res)//true


        let arr1 = [ 10,20,-5,40,50 ]
        //判断是不是都是正数
        // 回调特点: 一假则假，只有假。 循环结束every结果为假.
        let res1 = arr1.every(item=>item>0)
        console.log(res1)

        //伪数组 : 有数组三要素(元素、下标、长度),没有数组的方法
        //伪数组本质是对象
        //伪数组不能调用数组方法, 如果需要调用则需要把伪数组转成真数组.
        //ES6固定语法：  Array.from( 伪数组 )
        let obj = {
            0:20,
            1:30,
            2:50,
            length:3
        }

        console.log(obj)
        console.log( Array.from(obj) )

        

        
        
    </script>
</body>
</html>